<%--
  Created by IntelliJ IDEA.
  User: spongebob
  Date: 2022/2/24
  Time: 16:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户注册</title>
</head>
<body>
<div style="text-align: center">
    <form action="register" method="post" id="registerForm">
        名称（必填）：<input type="text" name="uname" id="uname" value="${messageModel.object.userName}"> <br>
        年龄（选填）：<input type="text" name="uage" id="uage" value="${messageModel.object.userAge}"> <br>
        密码（必填）：<input type="password" name="upwd" id="upwd" value="${messageModel.object.userPwd}"> <br>
        <span id="msg" style="font-size: 12px;color: red">${messageModel.msg}</span><br>
        <button type="button" id="returnBtn">返回登录</button>
        <button type="button" id="registerBtn">确认注册</button>
    </form>
</div>
</body>
<%--引入jquery的js文件--%>
<script type="text/javascript" src="js/jquery-3.6.0.js"></script>
<script type="text/javascript">
    /**
     * 注册表单验证
     1. 接收客户端的请求（接受参数：姓名、密码、年龄）
     2. 参数的非空判断
        如果参数为空，通过消息模型对象返回结果（设置状态、设置提示信息、回显数据）
            将消息模型设置到request作用域中
            请求转发跳转到注册页面
            return
     3.通过用户姓名查询用户对象
     4.判断用户对象是否为空
        如果不为空，通过消息模型对象返回结果（设置状态、设置提示信息、回显数据）
            将消息模型设置到request作用域中
            请求转发跳转到注册页面
            return
     5.将前台传递的用户数据插入到数据库
        添加用户成功
            将用户信息设置到session作用域中
            重定向跳转到首页
     */
    $("#registerBtn").click(function (){
        //获取用户姓名和密码的值
        var uname = $("#uname").val();
        var upwd = $("#upwd").val();
        //判断姓名是否为空
        if(isEmpty(uname)){
            //如果姓名为空，提醒用户（span标签赋值），并且return
            $("#msg").html("用户姓名不可为空");
            return;
        }
        //判断密码是否为空
        if(isEmpty(upwd)){
            //如密码为空，提醒用户（span标签赋值），并且return
            $("#msg").html("用户密码不可为空");
            return;
        }
        //如果都不为空，则手动提交表单
        $("#registerForm").submit();
    })

    /**
     * 判断字符串是否为空
     *      如果为空返回true
     *      否则返回false
     * @param str
     * @returns {boolean}
     */
    function isEmpty(str){
        if(str == null || str.trim() == ""){
            return true;
        }
        return false;
    }

    /**
     * 点击注册按钮，跳转注册页面
     */
    $("#returnBtn").click(function (){
        //跳转到注册页面
        window.location.href = "login.jsp";
    })
</script>
</html>
